package org.example.controller;

import org.example.domain.Question;
import org.example.domain.response.ResponseResult;

public interface QuestionController {

    /**
     * 新增问题
     * @param question 问题信息（不能包含问题ID）
     */
    ResponseResult saveQuestion(Question question);

    /**
     * 删除信息
     * @param id 问题ID
     */
    ResponseResult deleteQuestion(int id);

    /**
     * 修改信息
     * @param question 问题信息（必须包含问题ID）
     */
    ResponseResult updateQuestion(Question question);

    /**
     * 通过问题ID查询问题信息
     * @param questionId 问题ID
     */
    ResponseResult getQuestionByQuestionId(int questionId);

    /**
     * 分页查询问题
     * @param pageSize 分页大小
     * @param currentPage 当前分页
     */
    ResponseResult getQuestionByPage(int pageSize, int currentPage);

    /**
     * 通过问题类型分页查询
     * @param type 类型
     * @param pageSize 分页大小
     * @param currentPage 当前分页
     */
    ResponseResult getQuestionByPageAndType(String type, int pageSize, int currentPage);

    /**
     * 通过题目查询问题
     * @param title 题目
     * @param pageSize 分页大小
     * @param currentPage 当前分页
     */
    ResponseResult getQuestionByPageAndTitle(String title, int pageSize, int currentPage);

}
